fb1a7b7c90b53ad0b5a2898bbd1268d3e206656c,src/main/java/org/chocosolver/solver/constraints/nary/min_max/PropBoolMax.java,PropBoolMax,filter,#,84
Before Change
}
public void filter() throws ContradictionException {
if (x1 == -1) {
vars[n].instantiateTo(0, this);
if (vars[n].isInstantiatedTo(0)) {
setPassive();
}
}else if (x2 == -1 && vars[n].isInstantiatedTo(1)) {
vars[x1].instantiateTo(1, this);
if (vars[x1].isInstantiatedTo(1)) {
setPassive();
}
}else if (vars[n].isInstantiatedTo(0)) {
for (int i = 0; i < n; i++) {
vars[i].instantiateTo(0, this);
}
After Change
public void filter() throws ContradictionException {
int b1 = vars[x1].isInstantiated()? vars[x1].getValue():2;
int b2 = vars[x2].isInstantiated()? vars[x2].getValue():2;
int bn = vars[n].isInstantiated()? vars[n].getValue():2;
if(b1 == 0 && b2 == 0){
setPassive();
vars[n].instantiateTo(0, this);
}else if(bn == 1){
if(b1 == 0){
vars[x2].instantiateTo(1, this);
}else if(b2 == 0){
vars[x1].instantiateTo(1, this);
}
}else if(bn == 0) {
for (int i = 0; i < n; i++) {
vars[i].instantiateTo(0, this);
}